﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Collections;
using nmConnectionDatabase;
using nmUsuarios;

namespace DarkPassenger
{

    public partial class MenuUsuarios_NuevoUsuario : Form
    {
        public MenuUsuarios_NuevoUsuario()
        {
            InitializeComponent();
        }

        ConexionDB Conexion;

        public MenuUsuarios_NuevoUsuario(ConexionDB Conexion)
            : this()
        {
            this.Conexion = new ConexionDB();
            this.Conexion = Conexion;
        }


        private void btnGuardar_Click(object sender, EventArgs e)
        {
            bool error = false;
            errorProvider1.Clear();
            
            //#################################################
                            //VALIDA txtIDUsuario
            //#################################################


            if (txtIDUsuario.Text.Trim() == "" || txtIDUsuario.Text.Trim().Length < 6 )
            {
                txtIDUsuario.BackColor = Color.Red;
                errorProvider1.SetError(txtIDUsuario, "El IDUsuario debe ser de al menos 6 carácteres.");
                error = true;
            }
            else 
            {
                txtIDUsuario.BackColor = Color.White;
            }

            //#################################################
                          //VALIDA txtIDUsuario
            //#################################################

            //#################################################
            //VALIDA txtContraseña
            //#################################################


            if (txtContraseña.Text.Trim() == "" || txtContraseña.Text.Trim().Length < 4)
            {
                txtContraseña.BackColor = Color.Red;
                errorProvider1.SetError(txtContraseña, "El campo Contraseña debe tener al menos 4 carácteres.");
                error = true;
            }
            else
            {
                txtContraseña.BackColor = Color.White;
            }

            //#################################################
            //VALIDA txtContraseña
            //#################################################

            //#################################################
            //VALIDA txtNombre
            //#################################################


            if (txtNombre.Text.Trim() == "" || txtNombre.Text.Trim().Length < 4)
            {
                txtNombre.BackColor = Color.Red;
                errorProvider1.SetError(txtNombre, "El campo Nombre debe tener al menos 4 carácteres.");
                error = true;
            }
            else
            {
                txtNombre.BackColor = Color.White;
            }

            //#################################################
            //VALIDA txtNombre
            //#################################################

            //#################################################
            //VALIDA txtApellido
            //#################################################


            if (txtApellido.Text.Trim() == "" || txtApellido.Text.Trim().Length < 4)
            {
                txtApellido.BackColor = Color.Red;
                errorProvider1.SetError(txtApellido, "El campo Apellido debe tener al menos 4 carácteres.");
                error = true;
            }
            else
            {
                txtApellido.BackColor = Color.White;
            }

            //#################################################
            //VALIDA txtApellido
            //#################################################

            //#################################################
            //VALIDA cmbNivelAcceso
            //#################################################

            if (cmbNivelAcceso.Text.Trim() == "" || cmbNivelAcceso.Text.Trim().Length < 1 )
            {
                cmbNivelAcceso.BackColor = Color.Red;
                errorProvider1.SetError(cmbNivelAcceso, "El campo Nivel de Acceso debe ser: 0- Developer, 1-Admin o 2-Vendedores.");
                error = true;
            }
            else
            {
                cmbNivelAcceso.BackColor = Color.White;
            }

            //#################################################
            //VALIDA cmbNivelAcceso
            //#################################################

            if (error == true)
            {
                MessageBox.Show("Error al grabar un Nuevo Usuario, por favor verifique los campos.");
            }

            if (error != true)
            {
                errorProvider1.Clear();
                Usuarios User = new Usuarios();
                User.AltaUsuarios(Conexion.GetRutaConexion(), txtIDUsuario.Text, txtContraseña.Text, txtNombre.Text, txtApellido.Text, Convert.ToInt32(cmbNivelAcceso.Text), cbxActivo.Checked);
                this.Close();
            }
        }

        private void MenuUsuarios_NuevoUsuario_Load(object sender, EventArgs e)
        {

        }

        private void txtIDUsuario_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = true;
            }
        }

        private void txtNombre_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = true;
            }
        }

        private void txtApellido_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (Char.IsDigit(e.KeyChar))
            {
                e.Handled = true;
            }
        }

        private void cmbNivelAcceso_KeyPress(object sender, KeyPressEventArgs e)
        {
            e.Handled = true;
        }

        private void txtIDUsuario_TextChanged(object sender, EventArgs e)
        {
            txtIDUsuario.BackColor = Color.White;
        }

        private void txtContraseña_TextChanged(object sender, EventArgs e)
        {
            txtContraseña.BackColor = Color.White;
        }

        private void txtNombre_TextChanged(object sender, EventArgs e)
        {
            txtNombre.BackColor = Color.White;
        }

        private void txtApellido_TextChanged(object sender, EventArgs e)
        {
            txtApellido.BackColor = Color.White;
        }

        private void cmbNivelAcceso_TextChanged(object sender, EventArgs e)
        {
            cmbNivelAcceso.BackColor = Color.White;
        }
    }
}
